<?php
include ("../config.php");
class cResultado
{
	var $CAMPOS = "";
	var $DATOS  = "";
    function cResultado($campos=Array(), $datos=Array())
	{
		$this->CAMPOS = $campos;
		$this->DATOS = $datos;
	}

	function getRegistro($i) {
		$objMovil 		= new stdClass();
		foreach($this->CAMPOS as $campo=>$posic){
			$objMovil->$campo = $this->DATOS[$i][$posic];
		}
		return $objMovil;
	}

	function cantidad() {
		return count($this->DATOS);
	}


	function cantidadCampos() {
		return count($this->CAMPOS);
	}

	function campo($campo, $fila)
	{
		if ($campo == 'APROXIMACION' || $campo == 'UBICACION APROXIMADA'){
			return BykomCliente::Obtener_Direccion_Abreviada($this->DATOS[$fila][$this->CAMPOS[$campo]]);
		}
		return $this->DATOS[$fila][$this->CAMPOS[$campo]];
	}

	function ReplaceChars($str){
		return htmlspecialchars($str, ENT_QUOTES);
		/*$a = '��������������������������������������������������������������';
		$b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby';
		$string = strtr($str, utf8_decode($a), $b);
		$string = strtoupper($string);
		return utf8_encode($string);*/
	}


	function campoPorPosicion($campo, $fila)
	{
	    if ($this->CAMPOS['APROXIMACION'] == $campo  || $this->CAMPOS['UBICACION APROXIMADA'] == $campo){
			return $this->ReplaceChars(BykomCliente::Obtener_Direccion_Abreviada($this->DATOS[$fila][$campo]));
		}
		if ($this->CAMPOS['FECHA_MENSAJE'] == $campo){
			return $this->getDiaFromFecha($this->DATOS[$fila][$campo]);
		}
		return  $this->ReplaceChars($this->DATOS[$fila][$campo]);
	}

	function setCampo($campo, $fila, $valor)
	{
		$this->DATOS[$fila][$this->CAMPOS[$campo]] = $valor;
	}

	function eliminarPosicion($posicion)
	{
		if($posicion < $this->cantidad())
		{
			array_splice($this->DATOS, $posicion, 1);
		}
	}

	function agregarRegistro($registro, $primeraPosicion="")
	{
		if (strlen($primeraPosicion) > 0)
			$this->DATOS = array_merge(array(0=>$registro), $this->DATOS);
		else
			$this->DATOS[] = $registro;
	}

	function imprimir()
	{
		$aCampos = array_keys($this->CAMPOS);
    	echo '<table border=1><tr>';
		for ($i=0;$i<count($aCampos);$i++) {
			echo '<th>' . $aCampos[$i] . '</th>';
		}
		echo '</tr>';
		for($i=0; $i<$this->cantidad(); $i++ ) {
			echo '<tr>';
			for($j=0; $j< count($this->CAMPOS); $j++)
               if (trim($this->campoPorPosicion($j, $i))=="")
			       echo '<td>&nbsp;</td>';
		       else
		         echo '<td align="left">' .trim($this->campoPorPosicion($j, $i)) . '</td>';
			echo '</tr>';
		}
		echo '</table>';
	}

	function getElementArray($i) {
		return array("Fecha GPS"=>trim($this->campo('FECHA_MENSAJE', $i)),
					 "Velocidad"=>"".trim($this->campo('VELOCIDAD', $i)),
					 "Ubicacion Aproximada"=>$this->RemoveAcentos(BykomCliente::Obtener_Direccion_Abreviada(trim($this->campo('APROXIMACION', $i)))),
					 "Alertas"=>trim("".(($this->campo('STATUS_ZONA', $i) <> 390) or ($i>$this->cantidad())) ? "" : $this->campo('ZONA', $i)));
	}


	function RemoveAcentos($str){
	$enc = "UTF-8";
	$acentos = array(
    'A' => '/&Agrave;|&Aacute;|&Acirc;|&Atilde;|&Auml;|&Aring;/',
    'a' => '/&agrave;|&aacute;|&acirc;|&atilde;|&auml;|&aring;/',
    'C' => '/&Ccedil;/',
    'c' => '/&ccedil;/',
    'E' => '/&Egrave;|&Eacute;|&Ecirc;|&Euml;/',
    'e' => '/&egrave;|&eacute;|&ecirc;|&euml;/',
    'I' => '/&Igrave;|&Iacute;|&Icirc;|&Iuml;/',
    'i' => '/&igrave;|&iacute;|&icirc;|&iuml;/',
    'N' => '/&Ntilde;/',
    'n' => '/&ntilde;/',
    'O' => '/&Ograve;|&Oacute;|&Ocirc;|&Otilde;|&Ouml;/',
    'o' => '/&ograve;|&oacute;|&ocirc;|&otilde;|&ouml;/',
    'U' => '/&Ugrave;|&Uacute;|&Ucirc;|&Uuml;/',
    'u' => '/&ugrave;|&uacute;|&ucirc;|&uuml;/',
    'Y' => '/&Yacute;/',
    'y' => '/&yacute;|&yuml;/',
    'a.' => '/&ordf;/',
    'o.' => '/&ordm;/'
	);

	return preg_replace($acentos, array_keys($acentos), $str);

	}

	function imprimirAVL()
	{
		echo '<table border=1><tr>';
		$aCampos = array_keys($this->CAMPOS);
		         echo '<th align="center" valign="middle" class="titulo3">Fecha GPS
		               </th>';
		         echo '<th align="center" valign="middle" class="titulo3">Velocidad
		               </th>';
		         echo '<th align="center" valign="middle" class="titulo3">Ubicacion Aproximada
		               </th>';
		         echo '<th align="center" valign="middle" class="titulo3">Alertas
		               </th>';

		 echo '</tr>'; // fila rotulos

		         for($i=0; $i<$this->cantidad(); $i++ )
		         {
			      echo '<tr>';
                  if ((trim($this->campo('FECHA_MENSAJE', $i))=="") or ($i>$this->cantidad()))
			          echo '<td valign="middle" class="texto">
			                  &nbsp;
			                </td>';
		            else
		              echo '<td align="center" valign="middle" class="texto">' .
		                              trim($this->campo('FECHA_MENSAJE', $i)) .
		                   '</td>';

			     if ((trim($this->campo('VELOCIDAD', $i))=="") or ($i>$this->cantidad()))
			          echo '<td valign="middle" class="texto">
			                  &nbsp;
			                </td>';
		            else
		              echo '<td align="center" valign="middle" class="texto">' .
		                              trim($this->campo('VELOCIDAD', $i)) .
		                   '</td>';

		         if ((trim($this->campo('APROXIMACION', $i))=="") or ($i>$this->cantidad()))
			          echo '<td valign="middle" class="texto">
			                  &nbsp;
			                </td>';
		            else
		              echo '<td align="left" valign="middle" class="texto">' .
		                              BykomCliente::Obtener_Direccion_Abreviada(trim($this->campo('APROXIMACION', $i))).
		                   '</td>';

		         if (($this->campo('STATUS_ZONA', $i) <> 390) or ($i>$this->cantidad()))
			          echo '<td valign="middle" class="texto">
			                  &nbsp;
			                </td>';
		            else
		              echo '<td align="center" valign="middle" >'.
		                  $this->campo('ZONA', $i).'</td>';

		         echo '</tr>';

		         }
		         echo '</table>'; //fin tabla resultados
	}


function imprimirResultado()
	{
	             echo '<table class="reportAVL" border="0" cellspacing="0" cellpadding="0">';

				 echo '<thead>';
				 echo '<tr>';
		         $aCampos = array_keys($this->CAMPOS);
		         for ($i=0;$i<count($aCampos);$i++) {
			      echo '<th>';
				  echo (trim($aCampos[$i]));
			      echo '</th>';
		         }
		         echo '</tr>';
				 echo '</thead>';

				 echo '<tbody>';
		         for($i=0; $i<$this->cantidad(); $i++ )
		         {
			      echo '<tr>';
			      for($j=0; $j<count($this->CAMPOS); $j++) {
                    if (trim($this->campoPorPosicion($j, $i))=="")
			          echo '<td> &nbsp; </td>';
		            else
		              echo '<td>'.trim($this->campoPorPosicion($j, $i)).'</td>';
					}
			     echo '</tr>';
		         }
				 echo '</tbody>';
		         echo '</table>'; //fin tabla resultados
}


function imprimirResultadoEventoAvl()
{
	             echo '<table class="reportAVL" border="0" cellspacing="0" cellpadding="0">';
				 echo '<thead>';
				 echo '<tr>';
		         echo '<th> Cuenta</th>';
		         echo '<th> Patente</th>';
		         echo '<th> Fecha GPS </th>';
		         echo '<th> Detalle</th>';
		         echo '<th> Codigo Evento</th>';

				 echo '</tr>';
				 echo '</thead>';

                 echo '<tbody>';
		         for($i=0; $i<$this->cantidad(); $i++ ){
		         	$nombre 	= trim($this->campo('Nombre', $i));
		         	$nombreDos 	= trim($this->campo('NombreDos', $i));
		         	$idMovil	= trim($this->campo('idMovil', $i));
					echo '<tr>';

	                if ($nombre=="" or ($i>$this->cantidad()))
				    	echo '<td> &nbsp; </td>';
			        else {
			        	echo '<td>'.$nombre." ".$nombreDos.'</td>';
			        }
			        
					if ((trim($this->campo('Patente', $i))=="") or ($i>$this->cantidad()))
				       echo '<td> &nbsp;</td>';
			        else
			           echo '<td>' .trim($this->campo('Patente', $i)) . '</td>';

	                if ((trim($this->campo('FECHA MENSAJE', $i))=="") or ($i>$this->cantidad()))
				       echo '<td> &nbsp; </td>';
			        else {
			           echo '<td>' . $this->getDiaFromFecha($this->campo('FECHA MENSAJE', $i));
			        }
					if ((trim($this->campo('Detalle', $i))=="") or ($i>$this->cantidad()))
				       echo '<td> &nbsp;</td>';
			        else
			           echo '<td>' .trim($this->campo('Detalle', $i)) . '</td>';

			        if ((trim($this->campo('Evento', $i))=="") or ($i>$this->cantidad()))
				       echo '<td> &nbsp;</td>';
			        else
			        	echo '<td>' . trim($this->campo('Evento', $i)) .'</td>';

			        echo '</tr>';

		         }
				 echo '</tbody>';
		         echo '</table>'; //fin tabla resultados
}
function imprimirResultadoFijos(){
	             echo '<table class="reportAVL" border="0" cellspacing="0" cellpadding="0">';
				 echo '<thead>';
				 echo '<tr>';
		         echo '<th>Nombre</th>';
		         echo '<th>Detalle</th>';
		         echo '<th>Fecha Mensaje </th>';
		         echo '<th>Zona-Usuario</th>';
		         echo '<th>Codigo Evento</th>';

				 echo '</tr>';
				 echo '</thead>';

                 echo '<tbody>';
		         for($i=0; $i<$this->cantidad(); $i++ ){
		         	$nombre 	= trim($this->campo('Nombre', $i));
		         	$nombreDos 	= trim($this->campo('NombreDos', $i));
		         	if($nombreDos!=null && $nombreDos!=""){
		         		$nombre .=" ".$nombreDos; 	
		         	}
					echo '<tr>';

	                if ($nombre=="" or ($i>$this->cantidad()))
				    	echo '<td> &nbsp; </td>';
			        else {
			        	echo '<td>'.$nombre.'</td>';
			        }

					if ((trim($this->campo('Detalle', $i))=="") or ($i>$this->cantidad()))
				       echo '<td> &nbsp;</td>';
			        else
			           echo '<td>' .trim($this->campo('Detalle', $i)) . '</td>';
			           
	                if ((trim($this->campo('FECHA MENSAJE', $i))=="") or ($i>$this->cantidad()))
				       echo '<td> &nbsp; </td>';
			        else {
			           echo '<td>' . $this->getDiaFromFecha($this->campo('FECHA MENSAJE', $i)).'';
			        }
	                if ((trim($this->campo('Zona-Usuario', $i))=="") or ($i>$this->cantidad()))
				       echo '<td> &nbsp; </td>';
			        else {
			           echo '<td>' . $this->campo('Zona-Usuario', $i);
			        }

			        if ((trim($this->campo('Evento', $i))=="") or ($i>$this->cantidad()))
				       echo '<td> &nbsp;</td>';
			        else
			        	echo '<td>' . trim($this->campo('Evento', $i)) .'</td>';

			        echo '</tr>';

		         }
				 echo '</tbody>';
		         echo '</table>'; //fin tabla resultados
}

function getFechaDecorada($fecha) {
	return ucfirst( utf8_decode( strftime("%a %d %b %Y - %H:%M:%S", strtotime(trim($fecha))) ) );
}

function getDiaFromFecha($fecha) {
	return ucfirst( utf8_decode( strftime("%a %d %b %Y - %H:%M:%S", strtotime(trim($fecha))) ) );
}



function imprimirResultadoHistoricoAvl($cuenta,$codigocuenta,$nom1nom2,$dde,$hta)
	{
				 echo '<table class="reportAVL" border="0" cellspacing="0" cellpadding="0">';

				 echo '<thead>';
				 echo '<tr>';
		         echo '<th>Mapear</th>';
		         echo '<th width="145"> Fecha GPS </th>';
		         echo '<th>Velocidad</th>';
		         echo '<th style="text-align:center;">Ubicacion Aproximada</th>';
		         echo '<th colspan="4" style="text-align:center;">Alertas</th>';
		         echo '<th style="text-align:center;">Observaciones</th>';
				 echo '</tr>';
				 echo '</thead>';


                 echo '<tbody>';
		          if($hta>$this->cantidad()){
                 	$hta= $this->cantidad();
                 }
		         for($i=$dde; $i<$hta; $i++ ){
			      echo '<tr height="10px">';
			      
					//calcurar ALERTAS!!
					 $invalido = 0;
					 $exceso = 0;
					 $evento = 0;
					 $fuerazona = 0;
					 $detalleEvento = '';
					 //Alerta en fechas
					 if ((!((trim($this->campo('FECHA_MENSAJE', $i))=="") or ($i>$this->cantidad())))and($this->campo('EDAD_MENSAJE', $i) >= 255))
				           $invalido = 1;
	
					 //exceso de velocidad
					 if (!((trim($this->campo('VELOCIDAD', $i))=="") or ($i>$this->cantidad())) and ((trim($excesoVelocidad)!='')and($excesoVelocidad!=0)and($this->campo('VELOCIDAD', $i)>$excesoVelocidad)))
					  	   $exceso = 1;
	
					 //evento
					 if (!((trim($this->campo('CODIGOALFA', $i))=="") or ($i>$this->cantidad())) and ($this->campo('CODIGOALFA', $i)!='TST')){
					      $evento = 1;
						  $res = BykomCliente::Obtener_Descripcion_Alfa($this->campo('CODIGOALFA', $i));
						  $detalleEvento = $res->campo('NOMBRE',0);
					  }

					 //zona prohibida
			         if (!(($this->campo('STATUS_ZONA', $i) <> 390) or ($i>$this->cantidad())))
						  $fuerazona = 1;
			      
			      	 //VER EN MAPA
		         if ((trim($this->campo('ORDER_ID', $i))=="") or ($i>$this->cantidad()))
			          echo '<td>
			                  &nbsp;
			                </td>';
		            else
		              echo "<td>
         <a href=javascript:ViewInMap('".trim($this->campo('ORDER_ID', $i))."','historico_avl_".substr($this->campo('FECHA_RECIBIDO', $i),2,2).substr($this->campo('FECHA_RECIBIDO', $i),5,2)."',$invalido,$exceso,$evento,$fuerazona) class='link' style='text-align:center;'><img src='./images/viewinmapIcon.gif'></a>
   	                        </td>";
		              
                  if ((trim($this->campo('FECHA_MENSAJE', $i))=="") or ($i>$this->cantidad()))
			          echo '<td>&nbsp;</td>';
		            else {
		              echo '<td>' . $this->getFechaDecorada($this->campo('FECHA_MENSAJE', $i));
		             // if ($this->campo('EDAD_MENSAJE', $i) >= 255) {
		             // 	echo "&nbsp;<img src='./images/datoInvalido.gif' title='Posici&oacute;n no v&aacute;lida'>";
		             // }
		              echo '</td>';
		            }

			     if ((trim($this->campo('VELOCIDAD', $i))=="") or ($i>$this->cantidad()))
			          echo '<td>
			                  &nbsp;
			                </td>';
		            else
		              echo '<td style="text-align:center;">' .
		                              trim($this->campo('VELOCIDAD', $i)) .
		                   '</td>';

		         if ((trim($this->campo('APROXIMACION', $i))=="") or ($i>$this->cantidad()))
			          echo '<td>
			                  &nbsp;
			                </td>';
		            else{
		              echo '<td style="text-align:left;">' .
		                           $this->campo('APROXIMACION', $i).
		                   '</td>';
					  }


				 //imprimir ALERTAS!!!
				 //Alerta en fechas
				 echo '<td width="16" valign="middle">';
				 if ($invalido){
			          echo "<img src='./images/alertaIcon.gif' border='0' title='Posici&oacute;n no v&aacute;lida'>";
		              }
				 echo '</td>';

				 //exceso de velocidad
				 echo '<td width="16" valign="middle" >';
				 if ($exceso){
				  	  echo "<img src='./images/excesoIcon.gif' border='0' title='Exceso de velocidad'>";
				 	  }
				 echo '</td>';

				 //evento
				 echo '<td width="16" valign="middle">';
				 if ($evento){
				  	  echo "<img src='./images/eventoIcon.gif' border='0' title='$detalleEvento'>";
				 	 }
				 echo '</td>';

				 //zona prohibida
				 echo '<td width="16" valign="middle">';
		         if ($fuerazona){
					  echo "<a href=javascript:zonaProhibida('".str_ireplace(' ','%',$this->campo('ZONA', $i))."') class='link'>";
		              echo "<img src='./images/zonaprohibidaIcon.gif' title='Zona Prohibida'></a>";
					  }
		         echo '</td>';

				 echo '<td  valign="middle">&nbsp;';
 		         if ($this->campo('EDAD_MENSAJE', $i) >= 255) {
		           	echo "<img src='./images/datoInvalido.gif' title='Posici&oacute;n no v&aacute;lida'>";
		         }
		         echo '</td>';

		         echo '</tr>';

		         }
				 echo '</tbody>';
		         echo '</table>'; //fin tabla resultados
	}

function imprimirResultadoHistoricoEventos($dde,$hta){
				 echo '<table class="reportAVL" border="0" cellspacing="0" cellpadding="0">';

				 echo '<thead>';
				 echo '<tr>';
		         echo '<th width="50"> Mapear </th>';
		         echo '<th width="145"> Fecha Evento </th>';
				 echo '<th> Cuenta </th>';
		         echo '<th> Detalle </th>';
				 echo '<th> Datos </th>';
		         echo '<th> Procesado? </th>';
				 echo '<th> Operador </th>';
				 echo '</tr>';
				 echo '</thead>';

                 echo '<tbody>';
                 if($hta>$this->cantidad()){
                 	$hta= $this->cantidad();
                 }
		         for($i=$dde; $i<$hta; $i++ ){
		         	$cta = $this->campo('CUENTA', $i);
					$tabla = 'historico_avl_';
					$tabla .= substr($this->campo('FECHA_MENSAJE',$i),2,2);
					$tabla .= substr($this->campo('FECHA_MENSAJE',$i),5,2);
					$historicoId = $this->campo('HIST_RL',$i);
					
			      echo '<tr>';
			      echo "<td>
         				<a href=\"javascript:ViewInMapEventos('".$cta."',$historicoId,escape('".$tabla."'),0);\" class='link' style='text-align:center;'><img src='./images/viewinmapIcon.gif'></a>
   	                 </td>";
			      
                  if ((trim($this->campo('FECHA_MENSAJE', $i))=="") or ($i>$this->cantidad()))
			          echo '<td>&nbsp;</td>';
		          else
		              echo '<td> '.$this->getFechaDecorada($this->campo('FECHA_MENSAJE', $i)).' </td>';

				  if ((trim($this->campo('MOVIL', $i))=="") or ($i>$this->cantidad()))
			          echo '<td>&nbsp;</td>';
		          else
		              echo '<td> '.trim($this->campo('MOVIL', $i)).' </td>';

			      if ((trim($this->campo('DETALLE', $i))=="") or ($i>$this->cantidad()))
			          echo '<td>&nbsp;</td>';
		          else
		              echo '<td style="text-align:left;">&nbsp;'.trim($this->campo('DETALLE', $i)).' </td>';

				  if ((trim($this->campo('DATOS', $i))=="") or (trim($this->campo('DATOS', $i))==NULL) or ($i>$this->cantidad()))
			          echo '<td>&nbsp;</td>';
		          else
				  	  /* echo '<td align="center"><img title="'.trim($this->campo('DATOS', $i)).'" src="../images/infoItemImg.gif" border="0"></td>';*/
		              echo '<td align="center"><img onmouseover="Tip(\''.preg_replace("/[\n\r]/"," ",trim($this->campo('DATOS', $i))).'\', BALLOON, true, OFFSETX, -18, BALLOONIMGPATH, \'./js/wzTooltip/tip_balloon/\', BALLOONIMGEXT, \'gif\');" onmouseout="UnTip();" src="./images/infoItemImg.gif" border="0"></td>';

		          if ((trim($this->campo('PROCESADO', $i))=="") or (trim($this->campo('PROCESADO', $i))=="0") or ($i>$this->cantidad()))
			          echo '<td>&nbsp;</td>';
		          else
		              echo '<td align="center"><img src="./images/reports/check.gif" border="0"></td>';

				  if ((trim($this->campo('USER_PROCESS', $i))=="") or ($i>$this->cantidad()))
			          echo '<td>&nbsp;</td>';
		          else
		              echo '<td>&nbsp;'.trim($this->campo('USER_PROCESS', $i)).' </td>';

		          echo '</tr>';
		          }
				 echo '</tbody>';
		         echo '</table>';
	}

	function imprimirResultadoHorarios()
	{

	             echo '<table class="reportAVL" align="center" border="0" cellspacing="0" cellpadding="0">';

				 echo '<thead>';
				 echo '<tr>';
		         $aCampos = array_keys($this->CAMPOS);
		         for ($i=0;$i<count($aCampos);$i++)
		         {
			      echo '<th>';
				  echo (trim($aCampos[$i]));
			      echo '</th>';
		         }
		         echo '</tr>';
				 echo '</thead>';

				 echo '<tbody>';
		         for($i=0; $i<$this->cantidad(); $i++ )
		         {
			      echo '<tr>';
			      for($j=0; $j<count($this->CAMPOS); $j++) {
                    if (trim($this->campoPorPosicion($j, $i))=="")
			          echo '<td> &nbsp; </td>';
		            else
		              echo '<td>'.trim($this->campoPorPosicion($j, $i)).'</td>';
					}
			     echo '</tr>';
		         }
				 echo '</tbody>';
		         echo '</table>'; //fin tabla resultados
	}

	function imprimirResultadoFacturas($cuentaId)
	{
		         echo '<table class="reportAVL" border="0" cellspacing="0" cellpadding="0">';

				 echo '<thead>';
				 echo '<tr>';

				 $aCampos = array_keys($this->CAMPOS);
		         for ($i=0;$i<count($aCampos);$i++)
		         {
		         	if (trim($aCampos[$i]) <> "FACTURAID")
			      		echo '<th>'.trim($aCampos[$i]).'</th>';
		         }

		         if ($this->cantidad() > 0)
		         	echo '<th> </th>';

				 echo '</tr>';
				 echo '</thead>';

		         $totalRegistros = ($this->cantidad() >= RESULTADO_FACTURAS) ? RESULTADO_FACTURAS : $this->cantidad();

				 echo '<tbody>';
		         for($i=0; $i < RESULTADO_FACTURAS; $i++ ) // para todos los registros
		         {
		         	if ($i < $totalRegistros)
		         	{
			      	 echo '<tr>';
			     	 for($j = 0; $j < count($this->CAMPOS); $j++) { // para todos los campos

			     	  	if ($j == 4) { // si es la columna de descarga
			     	  		echo "<td>
		              			  <a href='http://".HOST_APP_ADM.":".PORT_APP_ADM."/FIBykom/execute/download?facturaId=".$this->campoPorPosicion($j, $i)."&cuentaId=".$cuentaId."' target='_blank'>
		                          <img src='./images/download.jpg' border='1'></a>
		                          </td>";
			     	  	}
			     	 	else {
			     	 		if (trim($this->campoPorPosicion($j, $i)) == "") {
			          			echo '<td valign="middle" class="texto">
			                  		&nbsp;
			                  		</td>';
                     		}
		             		else {
		              			echo '<td align="left" valign="middle" class="texto">' .
		                    		          trim($this->campoPorPosicion($j, $i)) .
		                     		'</td>';
		             		}
			     	  	}
			     	 }
					 echo '<tr>';
		         	}
		         }
				 echo '</tbody>';
		         echo '</table>'; //fin tabla resultados
	}

	function imprimirResultadoHorarios_Ex()	{

	             echo '<table class="reportAVL" align="center" border="0" cellspacing="0" cellpadding="0">';

				 echo '<thead>';
				 echo '<tr>';
		         $aCampos = array_keys($this->CAMPOS);
		         for ($i=0;$i<count($aCampos);$i++)
		         {
			      echo '<th>';
				  echo (trim($aCampos[$i]));
			      echo '</th>';
		         }
		         echo '</tr>';
				 echo '</thead>';

				 echo '<tbody>';
		         for($i=0; $i<$this->cantidad(); $i++ )
		         {
			      echo '<tr>';
			      for($j=0; $j<count($this->CAMPOS); $j++) {
                    if (trim($this->campoPorPosicion($j, $i))=="")
			          echo '<td> &nbsp; </td>';
		            else
		              echo '<td>'.trim($this->campoPorPosicion($j, $i)).'</td>';
					}
			     echo '</tr>';
		         }
				 echo '</tbody>';
		         echo '</table>'; //fin tabla resultados
	}

	function campoNombrePorPosicion($campoCol)
	{
		$aCampos = array_keys($this->CAMPOS);
		return $aCampos[$campoCol];
	}

	function find($fieldName, $value)
	{
		$fieldColumn = $this->CAMPOS[$fieldName];

		$retValue = array();

		for ($i=0; $i < count($this->DATOS); $i++)
		{
			if ($this->DATOS[$i][$fieldColumn] == $value)
			{
				$retValue[] = $i;
			}
		}
		return $retValue;
	}

	function generateXML()
	{
     $tt = "<?xml version='1.0'?><Root>";
     for ($i=0; $i<$this->cantidad(); $i++)
     {
      $tt.="<Result id='".$i."'>";
      for ($j=0;$j<count($this->CAMPOS);$j++)
      {
       $tt.="<".$this->campoNombrePorPosicion($j).">";
          $tt.=$this->campoPorPosicion($j,$i);
       $tt.="</".$this->campoNombrePorPosicion($j).">";
      }
      $tt.="</Result>";
     }
     $tt.="</Root>";
     $xml = simplexml_load_string($tt);
     return $xml;
    }

	function imprimirResultadoHistoricoParadas()
	{
		//0) imprimo cabecera de la tabla de resultados
		echo '<table class="reportAVL" border="0" cellspacing="0" cellpadding="0">';
  	    echo '<thead>';
		echo '<tr>';
		echo '<th style="width:45px">Mapear</th>';
		echo '<th style="width:145px"> Fecha </th>';
		echo '<th style="width:80px"> Tiempo detenido </th>';
		echo '<th style="width:300px"> Ubicacion Aproximada </th>';
		echo '<th style="width:10px"> Observaciones </th>';
		echo '</tr>';
		echo '</thead>';
        echo '<tbody>';

		//2) verifico y genero eventos de parada, imprimiendo sus items.
	    for($i=0; $i<$this->cantidad(); $i++ )
		{
			$cta = $this->campo('CUENTA', $i);
			$fechaDec = $this->getFechaDecorada($this->campo('FECHADECORADA', $i));
			$time = $this->campo('TIEMPO', $i);
			$dir = $this->campo('APROXIMACION', $i);
			$lat = trim($this->campo('LATITUD', $i));
			$lon = trim($this->campo('LONGITUD', $i));
			$row = "<tr>";
			$row .= "<td>
         				<a href=\"javascript:ViewInMap('".$cta."',escape('".$time."'),escape('".$fechaDec."'),escape('".$dir."'),'".$lat."','".$lon."');\" class='link' style='text-align:center;'><img src='./images/viewinmapIcon.gif'></a>
   	                 </td>";
			$row .= "<td>".$fechaDec."</td>";
			$row .= "<td>".$time."</td>";
			$row .= "<td style='text-align:left;'>".$dir."</td>";
			$row .= "<td>".(($this->campo('OBSERVACIONES', $i) != NULL) ? "<img src='./images/datoInvalido.gif' title='" . $this->campo('OBSERVACIONES', $i)."'>":"&nbsp;")."</td>";
			$row .= "</tr>";
			echo ($row);
		}

		//3) cierro la tabla e instancio variables de retorno
		echo '</tbody>';
		echo '</table>';
	}
	function imprimirResultadoHistoricoCaudalimetro(){
		//0) imprimo cabecera de la tabla de resultados
		echo '<table class="reportAVL" align="center" border="0" cellspacing="0" cellpadding="0">';
  	    echo '<thead>';
		echo '<tr>';
		echo '<th style="width:45px"> Mapear </th>';
		echo '<th style="width:145px"> Fecha </th>';
		echo '<th style="width:190px"> Evento </th>';
		echo '</tr>';
		echo '</thead>';
        echo '<tbody>';

		//1) verifico y genero eventos de conexion/desconexion y viceversa
	    for($i=0; $i<$this->cantidad(); $i++ ){
			$fechaDec = $this->campo('FECHA', $i) ;
			$evento = $this->campo('CAMBIO_ESTADO', $i);
			$cuentaId = $this->campo('CUENTA', $i);
			$fechaCruda = $this->campo('FECHA_CRUDA', $i);
			$prefixTabla = $this->campo('PREFIXTABLA', $i);
			$row = "<tr>";
			$row .= "<td>
         				<a href=\"javascript:ViewInMap('" . $cuentaId ."', '" . $prefixTabla . "', '" . $fechaCruda."' , '" . $evento . "');\" class='link' style='text-align:center;'><img src='./images/viewinmapIcon.gif'></a>
   	                 </td>";
			$row .= "<td>".$fechaDec."</td>";
			$row .= "<td>".$evento."</td>";
			$row .= "</tr>";
			echo ($row);
		}

		//3) cierro la tabla e instancio variables de retorno
		echo '</tbody>';
		echo '</table>';
	}
}
?>